package api

type ResponseData struct {
	AccessToken      string `json:"access_token"`
	ExpiresIn        int    `json:"expires_in"`
	RefreshExpiresIn int    `json:"refresh_expires_in"`
	TokenType        string `json:"token_type"`
	NotBeforePolicy  int    `json:"not_before_policy"`
	SessionState     string `json:"session_state"`
	Scope            string `json:"scope"`
}

type RespData struct {
	Errors []Errors `json:"errors"`
}
type Errors struct {
	Code    string `json:"code"`
	Message string `json:"message"`
}

type EditCardStatusReq struct {
	CardId    string `json:"cardId"`
	UserReqNo string `json:"userReqNo"`
	Status    string `json:"status"`
}

type CardOrderRes struct {
	Data CardOrderResInfo `json:"data"`
}

type CardOrderResInfo struct {
	Reference string `json:"reference"`
}

type WedStockRes struct {
	Id      string `json:"id"`
	Account string `json:"account"`
	Content string `json:"content"`
}

type GenRequestVo struct {
	Version       string `json:"version"`
	CertificateId string `json:"certificateId"`
	UserNo        string `json:"userNo"`
	DataType      string `json:"dataType"`
	DataContent   string `json:"dataContent"`
}

type GenResponseVo struct {
	Success       bool   `json:"success"`
	ErrorCode     string `json:"errorCode"`
	ErrorMsg      string `json:"errorMsg"`
	Result        string `json:"result"`
	UserNo        string `json:"userNo"`
	CertificateId string `json:"certificateId"`
}

type GenResponseVoToJson struct {
	Success       bool        `json:"success"`
	ErrorCode     string      `json:"errorCode"`
	ErrorMsg      string      `json:"errorMsg"`
	Result        interface{} `json:"result"`
	UserNo        string      `json:"userNo"`
	CertificateId string      `json:"certificateId"`
}

type Tp1002Info struct {
	BuyAmount    string `json:"buyAmount"`
	BuyCurrency  string `json:"buyCurrency"`
	ExpireTime   int64  `json:"expireTime"`
	MerOrderNo   string `json:"merOrderNo"`
	QuoteId      int64  `json:"quoteId"`
	Rate         string `json:"rate"`
	SellAmount   string `json:"sellAmount"`
	SellCurrency string `json:"sellCurrency"`
}
type Tp1002Infos struct {
	BuyAmount    string `json:"buyAmount"`
	BuyCurrency  string `json:"buyCurrency"`
	ExpireTime   int64  `json:"expireTime"`
	MerOrderNo   string `json:"merOrderNo"`
	QuoteId      string `json:"quoteId"`
	Rate         string `json:"rate"`
	SellAmount   string `json:"sellAmount"`
	SellCurrency string `json:"sellCurrency"`
}

type Tp1002Res struct {
	Head HeadStr    `json:"head"`
	Body Tp1002Info `json:"body"`
}

type Tp1002ApiRes struct {
	Head HeadStr     `json:"head"`
	Body Tp1002Infos `json:"body"`
}

type Tp1002Req struct {
	Amount        string `json:"amount" binding:"required"`
	BuyCurrency   string `json:"buyCurrency" binding:"required"`
	LockDirection string `json:"lockDirection" binding:"required"`
	MerOrderNo    string `json:"merOrderNo"`
	SellCurrency  string `json:"sellCurrency" binding:"required"`
}

type Tp3004Req struct {
	Currency string `json:"currency"`
}

type Tp3004InfoList struct {
	Tp3004Info []Tp3004Info `json:"list"`
}

type Tp3004Info struct {
	Currency string `json:"currency"`
	Balance  string `json:"balance"`
	Status   string `json:"status"`
}

type Tp3004Res struct {
	Head           HeadStr        `json:"head"`
	Tp3004InfoList Tp3004InfoList `json:"body"`
}
